home *** CD-ROM | disk | FTP | other *** search
- /*________________________________________________________
-
- File: Spooling.h
-
- C header file for a printing extension which redirects
- spool files.
-
- Dave Hersey
- Apple Developer Technical Support
-
- 1/29/93 - dmh - begat.
- 4/27/93 - dmh - Updated for b1.
- 9/06/93 - dmh - Updated for b2.
- - Switched to Exception.h assertion stuff
- for error checking.
- 12/18/93 - dmh - Updated for b3.
- 3/22/94 - dmh - Updated for b4.
-
- (Note: labels are in the Mark menu.)
-
- __________________________________________________________*/
-
- #include <Types.h>
- #include <Errors.h>
- #include <Resources.h>
- #include <ToolUtils.h>
- #include <Aliases.h>
- #include <Folders.h>
- #include <StandardFile.h>
- #include <GXExceptions.h>
- #include <graphics routines.h>
- #include <graphics types.h>
- #include <Collections.h>
- #include <PrintingManager.h>
- #include <PrintingMessages.h>
-
- #define kRedirectDisabled 0 /* spool redirection is turned off. */
-
- #define kCreator '≠-34'
- #define kSpoolCollectionType kCreator /* our collection type. */
-
- #define kAliasID 12345 /* the resource ID of our folder alias. */
- #define kConfigType 'INFO' /* our collection's resource type. */
- #define kConfigID 10101
-
- #define kPrefsFileCreator 'RSED' /* Our preferences file will be a */
- #define kPrefsFileType 'rsrc' /* ResEdit-owned resource file. */
-
- #define r_fileDlogID 7000 /* resource ID of our custom file dialog. */
- #define d_selectItem 10 /* DITL ID of select button. */
- #define d_selectDirectory 4 /* "Spool to…" button. */
-
- #define r_spoolPanel 6000 /* our panel ID. */
- #define d_folderName 6 /* text field for current folder name. */
- #define d_volumeName 8 /* text field for current volume name. */
-
- #define r_stringRsrc 200 /* resource ID of our STR# list. */
- #define r_prefsStrIdx 1 /* STR# item w/the name of the Prefs file. */
-
-
- // This is what our collection looks like.
-
- typedef struct SpoolCollection
- { // offset:
- unsigned char extTurnedOn; // 0 on/off setting from panel.
- char fillByte; // fill byte.
- Str63 folderName; // 2 name of the selected folder.
- Str63 volumeName; // name of the selected volume.
- } SpoolCollection;
-
-
- // Function prototypes:
-
- // external defines for creating our A5 world.
-
- extern long A5Size (void);
- extern void A5Init (void *);
-
- OSErr InitGlobalData(void);
- OSErr SPInitialize(void);
- OSErr SPShutDown(void);
- OSErr SPJobPrintDialog(gxDialogResult *dlogResult);
- OSErr SetUpPrintPanel(void);
- OSErr SPHandlePanelEvent(gxPanelInfoRecord *panelInfo);
- void OpenSpoolPanel(DialogPtr pDlg, short itemCount);
- OSErr SavePanelChanges(void);
- OSErr SPCreateSpoolFile(FSSpec *anFSSpec, long createOptions, gxSpoolFile *spFile);
- Boolean GetFolder(FSSpec *fSpec);
- pascal short MyDlgHook(short item, DialogPtr theDlg, Ptr userData);
- pascal Boolean FilterAllFiles(CInfoPBPtr pb, Ptr myDataPtr);
- OSErr GetDefaultSettings(SpoolCollection *spoolConfig);
- long GetActualDirID(FSSpec *fSpec);
- OSErr OpenPrefsFile(short *resRefNum, char permission);
- OSErr ReplaceResource(Handle newData, OSType resourceType, short resourceID);
- OSErr GetSpoolCollection(SpoolCollection *spoolCollect);
- Boolean AliasToPathName(AliasHandle anAlias, char *folderName, char *volName);
- void GetPrefsName(char *prefsName);
-
-
- /* globals */
-
- extern Str255 gPrefsFileName; // The name of our preferences file.
- extern AliasHandle gCurFolderAlias; // The current folder alias used by the panel.
- extern Boolean gSettingsChanged; // True if we have panel changes to save.
- extern Boolean gLastEnableSetting; // The "enabled" setting when we opened the panel.
-